#ifndef __DISPATCHER__
#define __DISPATCHER__

#include "primitive.h"

class Curve;
class STriangleMesh;
class Surface;
class NurbsSurfaceMesh;
class SNurbs;
class STriangle;

class Dispatcher {
public:
	virtual void Visit(STriangleMesh* tm) {
		
	}

	virtual void Visit(Surface* surface) {
		
	}
	
	virtual void Visit(NurbsSurfaceMesh* nsm) {

	}

	virtual void Visit(SNurbs* nurbs) {

	}

	virtual void Visit(STriangle* tet) {

	}

	virtual void Visit(Curve* curve) {

	}
};

#endif //__DISPATCHER__
